package cn.zzdt4j.config.service.biz;

import cn.zzdt4j.config.model.biz.tenant.TenantQueryReqDTO;
import cn.zzdt4j.config.model.biz.tenant.TenantRespDTO;
import cn.zzdt4j.config.model.biz.tenant.TenantSaveReqDTO;
import cn.zzdt4j.config.model.biz.tenant.TenantUpdateReqDTO;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.Collection;
import java.util.List;

/**
 * Tenant service
 *
 * @author by <a href="mailto:ligang941012@gmail.com">gang.Li</a>
 * @since 2023 /11/6 12:43
 */
public interface TenantService {
    /**
     * List all tenant list.
     *
     * @return the list
     */
    List<String> listAllTenant();

    /**
     * Query tenant page page.
     *
     * @param reqDTO the req dto
     * @return the page
     */
    IPage<TenantRespDTO> queryTenantPage(TenantQueryReqDTO reqDTO);

    /**
     * Update tenant.
     *
     * @param reqDTO the req dto
     */
    void updateTenant(TenantUpdateReqDTO reqDTO);

    /**
     * Save tenant.
     *
     * @param reqDTO the req dto
     */
    void saveTenant(TenantSaveReqDTO reqDTO);

    /**
     * Delete tenant by id.
     *
     * @param tenantId the tenant id
     */
    void deleteTenantById(String tenantId);
}
